flowbox: Don't use a removed child after it has been unparented
authorKjell Ahlstedt <kjellahlstedt@gmail.com>
Thu, 4 Jun 2020 09:23:46 +0000 (11:23 +0200)
committerKjell Ahlstedt <kjellahlstedt@gmail.com>
Thu, 4 Jun 2020 09:23:46 +0000 (11:23 +0200)
In gtk_flow_box_remove(), call g_sequence_remove() before the child is unparented.

See MR !2029

gtk/gtkflowbox.c

index ddbf34fa33514133fa0a0253c21cd7c4af4b285e..033b227e45d449b9cf90ae7cbecba30dd0755371 100644 (file)
@@ -3046,8 +3046,8 @@ gtk_flow_box_remove (GtkFlowBox *box,
   if (child == priv->selected_child)
     priv->selected_child = NULL;
 
-  gtk_widget_unparent (GTK_WIDGET (child));
   g_sequence_remove (CHILD_PRIV (child)->iter);
+  gtk_widget_unparent (GTK_WIDGET (child));
 
   if (was_visible && gtk_widget_get_visible (GTK_WIDGET (box)))
     gtk_widget_queue_resize (GTK_WIDGET (box));